unit uCadCaixa;

interface

uses
  uClasseCaixa,
  Windows,
  Messages,
  SysUtils,
  Variants,
  Classes,
  Graphics,
  Controls,
  Forms,
  Dialogs,
  FocusDBGrid,
  DBCtrls,
  uPadrao,
  ComCtrls,
  db,
  ExtCtrls,
  ExtDlgs,
  StdCtrls,
  Grids,
  DBGrids;

type
  Tfm_Cad_Caixa = class(Tfm_Padrao)
    pc_Principal: TPageControl;
    ts_Cadastro: TTabSheet;
    dbGrid_Caixa: TFocusDbGrid;
    pn_Foto: TPanel;
    OpenPicDialog: TOpenPictureDialog;
    GroupBox1: TGroupBox;
    im_Caixa: TImage;
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure dbGrid_CaixaAfterDML(DataSet: TDataSet);
    procedure im_CaixaDblClick(Sender: TObject);
    procedure dbGrid_CaixaAfterScroll(Sender: TOBject);
  private
  public
    { Public declarations }
  end;

var
  fm_Cad_Caixa: Tfm_Cad_Caixa;

implementation

uses
  uErro,
  uCadProdutoCaixa,
  uAplicacao,
  uUtils;

{$R *.dfm}

procedure Tfm_Cad_Caixa.dbGrid_CaixaAfterDML(DataSet: TDataSet);
begin
  inherited;
  if Assigned(fm_Cad_Produto_Caixa) then
    UpdateDBGrids(fm_Cad_Produto_Caixa,fm_Cad_Produto_Caixa.dbGrid_Caixa);
end;

procedure Tfm_Cad_Caixa.dbGrid_CaixaAfterScroll(Sender: TOBject);
begin
  uUtils.TLoadImage.Exibir_Foto(dbGrid_Caixa,'nm_arquivo',im_Caixa);
end;

procedure Tfm_Cad_Caixa.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  Liberar(fm_Cad_Caixa);
  inherited;
end;

procedure Tfm_Cad_Caixa.FormShow(Sender: TObject);
begin
  try
    dbGrid_Caixa.ClasseBase := dbGrid_Caixa.ClasseBase as uClasseCaixa.TCaixa;
    dbGrid_Caixa.Iniciar;
  except
    on E:Exception do
      TErro.GravarErro(Self.ClassName,'FormShow',E,True);
  end;
end;

procedure Tfm_Cad_Caixa.im_CaixaDblClick(Sender: TObject);
begin
  OpenPicDialog.InitialDir := uAplicacao.Aplicacao.GetPathExecucao+'imagens';
  if OpenPicDialog.Execute then
  begin
    if OpenPicDialog.FileName <> '' then
    begin
      dbGrid_Caixa.AdoQuery.Edit;
      dbGrid_Caixa.AdoQuery.FieldByName('nm_arquivo').AsString := ExtractFileName(OpenPicDialog.FileName);
      dbGrid_Caixa.AdoQuery.Post;
      im_Caixa.Picture.LoadFromFile(OpenPicDialog.FileName);
    end;
  end;
end;

end.
